using System.Collections.Generic;

namespace WikiMarkupConverter.RegexModels
{
    abstract class Markup
    {
        /// <summary>
        /// Lists the different types of markup
        /// </summary>
        public enum MarkupType
        {
            /// <summary>
            /// Defines a markup on a single line
            /// </summary>
            SingleLine,
            /// <summary>
            /// Defines a markup on multiple lines
            /// </summary>
            MultiLine
        }

        private List<SingleLineRegex> _inlineRegexes;
        private List<MultiLineRegex> _multiLineRegexes;

        public string Name { get; set; }


        /// <summary>
        /// Gets a list of the markup inline regular expressions
        /// </summary>
        public List<SingleLineRegex> InlineRegexes
        {
            get { return _inlineRegexes ?? (_inlineRegexes = new List<SingleLineRegex>()); }
        }

        /// <summary>
        /// Gets a list of the markup multi-line regular expressions
        /// </summary>
        public List<MultiLineRegex> MultiLineRegexes
        {
            get { return _multiLineRegexes ?? (_multiLineRegexes = new List<MultiLineRegex>()); }
        }
    }
}
